package mGraph.utils;

/**
 * 
 * @author Giulio Rossetti
 *
 */
public class TimestampConverter {
	
	
	public TimestampConverter(){}
	

	/**
	 * Effettua la conversione da intero e rappresentazione binaria ospitata in un vettore.
	 * 
	 * @param value
	 * @return
	 */
	public byte[] intToByteArray(Integer value) {
		int x = 1;
		byte[] res = new byte[28];
		int count = 0;
		while(x!=0){
			int mod = value%2;
			int div = value/2;
			value = div;	
			if(mod==0) res[count] =0;
			else res[count]=1;
			count++;
			if(div<1) x=0;
		}
		return res;
	}

	
	/**
	 * Effettua la conversione da valore binario (ospitato in array) ad intero.
	 * 
	 * @param bitvalue
	 * @return
	 */
	public int byteArrayToInt(byte[] bitvalue) {
		
		int value = 0;
		for(int i=0; i<bitvalue.length;i++){
			if (bitvalue[i]!=0) {
				value = (int) (value + Math.pow(2,i));
			}
		}
		return value;
	}
}
